其实在从事前端工作后不久就知道了 electron,当时就感叹 javascript 的强大,从最基础的 web 应用到 cordova 到跨平台移动应用,在到 electron 跨平台的桌面应用.但是也只是知道了这个名字以及 electron 可以做什么的一个简单了解.
直到前段时间,一个普通朋友问我能不能帮忙做一个档案统计的小工具.通过基本了解后,才知道他们的需求:公司有很多档案(每一份档案都按照一定格式存为了 word 文档),现在要对这些档案进行一个整理和统计,最终汇总到 excel 里面,后续再根据具体到需要进行统计分析.
其实我第一时间想到到是用 node 服务器来处理 word 文档并将得到到数据存入数据库,也方便后续对数据的一些操作.但是后面又了解到这个程序是在他们公司内网安装使用,而公司内网安装服务器环境是一个难题(毕竟他自己又不会,我也进不去).想了一下,可以用 electron 做个桌面程序,直接使用 node 的 api 来做,只是不能将数据存到数据库了,不过存到 excel 也随时可以导入数据库.
main
我是在 electron demo 的基础做的,所以直接 clone 的 electron-quick-start
1 | git clone https://github.com/electron/electron-quick-start.git |
然后就可以看到项目启动了,当然我加了两个按钮.
然后我们可以看到熟悉到 index.html 文件,由于我需要到功能很简单,所以我是直接在 index.html 里面编辑的,如果功能复杂的话可以写成多个页面或者做成 spa.
然后可以直接在 html 的 js 中写 nodejs 的代码,因为最终的运行环境就是在 node 的环境下,不需要担心环境的问题.上传文件我们用到了 dialog 组件.然后读取 word 使用了 mammoth 插件、导出 excel 使用了 excel-export 插件,实现代码如下:
1 | let keys = [ |
这个项目也只是在官方 demo 的基础上做了简单的改造,也简单的走了一下 electron 的开发流程,对 electron 有了更多对了解.
项目地址: https://github.com/qiangqiang93/word-to-excel
[越努力,越幸运!]